Skip to content

Document the WSL setup and skip Roslyn without .NET - #20

Merged
SimonKimDev merged 1 commit into
mainfrom
simonk/dev/wsl-neovim-setup
Oct 19, 2026
Merged

SimonKimDev merged 1 commit into
mainfrom
simonk/dev/wsl-neovim-setup

Conversation

@SimonKimDev

Copy link
Copy Markdown
Owner

The config also runs in WSL (Ubuntu 24.04), but nothing recorded how it's installed there.

Changes

  • README: new WSL section covering how it's set up there:

    • Neovim comes from Homebrew, put on PATH by brew shellenv in ~/.bashrc.
    • The config is a clone of this repo in ~/.config/nvim. Update it with git pull + :Lazy restore.
    • It lists the tools the config needs.
    • The clipboard goes through win32yank.exe from the Windows Neovim install.

    It also notes that the smoke test runs the same way there. The C# requirement now says the .NET 10 SDK: the pinned Roslyn (5.13.0-1.26514.10) is a RID-specific dotnet tool targeting net10.0.

  • lazy/lsp/mason.lua: install roslyn-language-server only when dotnet is on PATH, using mason-tool-installer's per-tool condition. Mason installs it with dotnet tool, so on a machine without .NET it reported "roslyn-language-server: failed to install" on every start. Where dotnet exists (Windows, CI) nothing changes.

Testing

In WSL (Ubuntu 24.04, Neovim 0.12.6), on an LF copy of this branch:

  • stylua --check . with StyLua 2.3.0: clean.
  • nvim --headless --cmd "luafile tests/smoke.lua": smoke: OK. Without dotnet it makes no Roslyn install attempt.
  • With a stub dotnet on PATH, mason-tool-installer still tries to install Roslyn (updating to 5.13.0-1.26514.10), so the condition only skips machines without .NET.
  • Lua, Go, TypeScript and Rust buffers get treesitter highlighting and their LSP clients (lua_ls, gopls, ts_ls, rust-analyzer). The clipboard provider resolves to win32yank.

The config also runs in WSL (Ubuntu 24.04), but nothing recorded how it's
installed there. The README now covers it: Neovim from Homebrew, the config as
a clone in ~/.config/nvim, the tools it needs, and the win32yank clipboard.

Mason installs Roslyn with `dotnet tool`, so on a machine without .NET (WSL
without C#) mason-tool-installer reported "roslyn-language-server: failed to
install" on every start. Only install it when dotnet is on PATH. The pinned
Roslyn is a .NET 10 tool (net10.0, RID-specific package), so the README now
asks for the .NET 10 SDK.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@SimonKimDev
SimonKimDev merged commit c3f3905 into main Oct 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant